#ifndef _MUNIX_ADDRSPACE_H_
#define	_MUNIX_ADDRSPACE_H_
/*******************************************************************************
 ** Name: addrspace.h                                                         **
 ** Description:              **
 **                                                                           **
 ** Open Source Initiative (OSI) Approved License                             **
 **                                                                           **
 ** The contents of this file are subject to the terms of the                 **
 ** Common Development and Distribution License, Version 1.0 only             **
 ** (the "License").  You may not use this file except in compliance          **
 ** with the License.                                                         **
 **                                                                           **
 ** You can find a copy of the license in the license.txt within              **
 ** this distribution or at http://www.munixos.net/licensing.                 **
 ** Software distributed under the License is distributed on an "AS IS"       **
 ** basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.           **
 ** See the License for the specific language governing permissions           **
 ** and limitations under the License.                                        **
 **                                                                           **
 ** When distributing Covered Code, include this CDDL header in each          **
 ** file and include the License file at $HOME/license.txt.                   **
 ** If applicable, add the following below this header, with the indicated    **
 ** fields enclosed by brackets "[]" replaced with your own identifying       **
 ** information: Portions Copyright [yyyy] [name of copyright owner]          **
 **                                                                           **
 **                                                                           **
 ** Copyright (c) 2009-2010  Barry Gian James.                                **
 ** All rights reserved.                                                      **
 **                                                                           **
 ** Ref: $HeadURL$
 ******************************************************************************/
// Portions (C) 2011 OpenHouseware, LLC.
#define _MUNIX_ADDRSPACE_H_ID "$Id$"
// Last Modified $DateTime$ by $Author$

//http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/vm/as.h

//! AddressSpace
//! Address space in virtual or otherwise memory. This address space deals with
//! SRAM only.  Flash address space is dealt with separately.
//! There are two SRAM chips onboard: 23K256 SOIC8. See libdevice.a

#if defined(__AVR_ATmega644P__)
#define REGISTER_START		0x0000
#define REGISTER_TOP		0x001F		// 32
#define IOREGISTER_BOTTOM	0x0020
#define IOREGISTER_TOP		0x005F		// 64
#define EXTREGISTER_BOTTOM	0x0060
#define EXTREGISTER_TOP		0x00FF		// 160
#define INTERNAL_SRAM_BOTTOM 0x0100
#define INTERNAL_SRAM_TOP	0x10FF
#define EXTERNAL_SRAM_BOTTOM 0x0000		// SRAM1
#define EXTERNAL_SRAM_MIDBOT 0x7FFF
#define EXTERNAL_SRAM_MIDTOP 0x8000		// SRAM2 (really 0x0000)
#define EXTERNAL_SRAM_TOP	 0xFFFF
#endif

// For 23K256 SPI SRAM
#define SRAM_PAGE_SIZE	32		// bytes
#define SRAM_PAGE_NUM	1024


class AddressSpace
{
public:

private:
};
#endif	/* _MUNIX_ADDRSPACE_H_ */

